Determining heart rate

ABSTRACT

This invention concerns a method and system for automatically determining heart rate. The invention can be applied to determining the heart of any animal including humans. The method involves sensing body sounds and transducing them to electrical signals. Digitizing the electrical signals. Emphasizing the heart sound maxima (S1 and S2 signals) relative to noise by filtering, decompression and squaring. Detecting local maxima in the signals as likely S1 signals and generating a threshold amplitude. Selecting maxima that exceed the threshold as surviving likely candidate S1 signals. Screening the surviving candidate S1 against physiologically derived criteria. And, calculating the heart rate from the screened S1.

TECHNICAL FIELD

[0001] This invention concerns a method and system for automatically determining heart rate. The invention can be applied to determining the heart of any animal including humans.

BACKGROUND ART

[0002] Vibration of the heart valves generates heart sounds. The valves are forced into vibration at the instants of the valves' closure, caused by abrupt increase of the blood pressure gradient. A first heart sound (S1) is generated at the end of diastole, while a second heart sound (S2) is produced at the end of the systole. The sounds are transmitted through the body and can be heard on the body surface by use of the stethoscope, or be recorded using a sound transducer. Although heart sounds have been recorded in the past, they have not been used to automatically determine heart rate. The major problem being that for each heart beat there are four sounds generated by valve closure, typically grouped in pairs.

SUMMARY OF THE INVENTION

[0003] The invention is a method for automatically determining heart rate, comprising the steps of:

[0004] Sensing body sounds and transducing them to electrical signals.

[0005] Digitizing the electrical signals.

[0006] Emphasising the heart sound maxima (S1 and S2 signals) relative to noise by filtering, decompression and squaring.

[0007] Detecting local maxima in the signals.

[0008] Generating a threshold amplitude.

[0009] Selecting maxima that exceed the threshold.

[0010] Screening selected maxima against physiologically derived criteria.

[0011] Calculating the heart rate from the screened maxima.

[0012] The digitizing involves the conventional sampling process to produce a string of digital words, one word for each sample.

[0013] The filtering may be performed using a first low pass filter having a cutoff at 60 Hz.

[0014] Further filtering may be performed after the decompression and squaring by a further low pass filter realised as a moving average FIR filter, and triangular weighting may be used instead of an equal weighting function.

[0015] Probable S1's and S2's may be selected from those parts of the signal detected to be around maximums.

[0016] Local maxima may be detected by differentiating the signal. The derivative may be calculated as the first order difference, with the signal at every point being subtracted from the signal delayed by one sample. The signal may be divided onto intervals, and the maximum with the greatest amplitude may be taken for each interval.

[0017] This maximum may be selected as a likely S1. If there is another maximum following in a suitable time window after the likely S1 in the same interval, then it may be selected to be a likely S2. The time window may be between 160 ms and 400 ms.

[0018] Once a string of likely S1's and S2's have been recorded four histograms may be constructed, namely histograms of the “S1 amplitudes”, the “S2 amplitudes”, the “S1 to S1 intervals” and the “S1 to S2 intervals”.

[0019] A threshold amplitude may be generated for the likely S1's using the “S1 amplitudes” histogram. Any amplitude bin, or bins, on the histogram that show occurrence with a frequency greater than a physiologically derived upper limit, or threshold, are identified. then, all the amplitude bins are discarded except those that have an amplitude greater than the amplitude of the bin(s) that have been identified.

[0020] Once the likely S1's have been reduced the S2's are reduced to include only those detected in a predetermined time window after the surviving likely S1's. Then the histograms are updated to include only the surviving likely candidate S1's and S2's.

[0021] The surviving likely candidate S1's and S2's may then be tested against the following criteria:

[0022] If a candidate S1 is wider than 250 ms at 80% of its peak value, or wider than 350 ms at 50% of its peak value, it is rejected.

[0023] If other S1's are not found within an expected time window or amplitude window on both sides of a candidate S1, it is rejected. The time window may be derived from the histogram of “S1 to S1 intervals”. The amplitude window may be derived from the histogram of “S1 amplitudes”.

[0024] If the time since the preceding candidate S1 is less than the time until the next S1, the current candidate is presumed to be an S2, and it is rejected.

[0025] If the time since the preceding candidate S1 is less than the largest S1 to S2 interval, seen from the histogram of “S1 to S2 intervals”, the current candidate is presumed to be S2, and it is rejected.

[0026] If the ratio of the amplitude of a candidate S1's to the amplitude of its S2's is smaller or bigger than an expected window, the candidate is rejected.

[0027] In another aspect the invention is a system for determining heart rate, comprising:

[0028] An array of sensors to pick up the sounds and transform them to electrical signals.

[0029] A computer to digitize the signals and process them to detect S1 and S2.

[0030] Where the processing may comprise:

[0031] Emphasizing the heart sound maxima (S1 and S2 signals) relative to noise by filtering, decompression and squaring.

[0032] Detecting local maxima in the signals.

[0033] Generating a threshold amplitude.

[0034] Selecting maxima that exceed the threshold.

[0035] Screening selected maxima against physiologically derived criteria.

[0036] Calculating the heart rate from the screened maxima.

BRIEF DESCRIPTION OF THE DRAWINGS

[0037] An example of the invention will now be described with reference to the accompanying drawings, in which:

[0038]FIG. 1 is a diagram showing a typical cycle of heart sound.

[0039]FIG. 2 is a schematic diagram of a system for monitoring heart rate.

[0040]FIG. 3 is a flow chart of a method for monitoring heart rate.

[0041]FIG. 4 is a graph of a filtered, decompressed and squared signal.

[0042]FIG. 5 is a histogram of S1 amplitudes.

[0043]FIG. 6 is a histogram of S1 amplitudes that exceed a threshold.

[0044]FIG. 7 is a graph of the signals showing an S1 with another S1 before and after it, in respective amplitude and time windows.

[0045]FIG. 8 is the graph of FIG. 7 showing the times between successive S1 events.

BEST MODES OF THE INVENTION

[0046] Referring first to FIG. 1 a typical cycle of heart sound 1 is seen to comprise a first heart sound (S1) which is generated at the end of diastole, and a second heart sound (S2) which is produced at the end of the systole.

[0047] Referring now to FIG. 2 an array of sensors 20 are arranged in the mattress 21 of a bed 22. The sensors 20 pick up the sounds and transduce them to electrical signals. The signals are passed to a computer 23, via cables 24, where they are sampled, digitized and processed by a computer program.

[0048] Refer now to FIG. 3. The program then performs an algorithm 30 to detect the S1 and S2 in the signals. Once these are detected the heart rate can be calculated. The algorithm can be divided into two phases: preprocessing 40 and detection 50.

[0049] Pre-Processing Phase 40:

[0050] The purpose of this phase is to emphasise the S1 and S2 parts of the signal relative to the noise.

[0051] The signal is first low pass filtered 41 with a cutoff frequency (−3 dB) at 60 Hz, to attenuate high frequency noise.

[0052] The signal is then decompressed and then squared 42, in order to increase the amplitude difference.

[0053] The signal is then differentiated 43. The derivative is calculated as the first order difference between each sample, that is, the signal at every point is subtracted from the signal delayed by one sample.

[0054] Further low pass filtering 44 then attenuates the residual noise. This low pass filter is realised as a moving average FIR filter, and triangular weighting length of 180 is used instead of an equal weighting function.

[0055] The purpose of this phase is to emphasize the maxima in the signal relative to the noise. The resulting maxima at this point have characteristic accentuated shapes.

[0056] The signal is then compressed 45 and differentiated again 46.

[0057] The detection phase 50 consists of several parts:

[0058] i. Detecting Local Maxima 51:

[0059] The mathematical characteristic of a maximum is that the first derivative changes in sign from positive to negative, and the second derivative is zero. The algorithm 30 selects as likely S1's and S2's only a number of samples of the signal around a maxima.

[0060] A first likely S1 52 is selected at time t₀ to be the maximum of greatest amplitude in a predetermined spread 53 of 160 ms.

[0061] If another maximum 54 is detected within a predetermined time window 55 (160 to 450 ms) after the S1, then it 54 is selected to be likely S2.

[0062] The next likely S1 is then selected to be the maximum of greatest amplitude in the next predetermined interval 56, and then the next likely S2 may then be selected. This is illustrated in FIG. 4.

[0063] Once some likely S1 and S2 are selected, their amplitudes are measured, and so are the “S1 to S1 time intervals” and the “S1 to S2 time intervals”. These measurements are used to build four histograms, namely histograms of the “S1 amplitudes”, the “S2 amplitudes”, the “S1 to S1 intervals” and the “S1 to S2 intervals”. These histograms are used to generate detection criteria for use in subsequent iterations.

[0064] For example, in FIG. 5 a histogram of S1 amplitudes has S1 52 occurring in the bin indicated.

[0065] ii. Amplitude Thresholding, 57

[0066] For the amplitude histograms there will generally always be the same number of bins; in the example shown in FIG. 5 there are five bins, A1, A2, A3, A4 and A5. The bin width (the resolution of the histogram) is calculated from the dynamic range of the signal, so where there is greater range the bins will be wider. The frequency ‘f’ of the occurrence of the maxima is given by the number of occurrences in each predetermined epoch of time, for example 30 secs.

[0067] There is an upper limit possible for the heart rate of any particular subject, so any likely S1 that occurs with a frequency greater than that upper limit f₁, can be discarded. The likely S1's are then reduced to include only those in the bins that have an amplitude greater than the amplitude of the bin(s) that exceed the threshold. In the example shown in FIG. 5, bin A3 has a frequency greater than f₁, so A3 is the amplitude threshold, and bins A1, A2 and A3 are discarded. Likely S1 52 remains a surviving likely candidate.

[0068] Once the likely S1's have been reduced, the S2's are reduced accordingly.

[0069] The histograms are updated to include only the surviving likely candidates, as shown in FIG. 6.

[0070] iii. Screening Criteria

[0071] The above selection and thresholding provide necessary but not sufficient criteria for the unique identification of the S1 and S2. Further refinement is necessary. The following criteria have been developed from physiology and empirical investigation of the signals.

[0072] Signal Width Criteria, 58.

[0073] The width of the S1 at 80% and 50% of its peak has been determined from a number of studies. It is found that the width of the S1 is within 250 ms and 350 ms at 80% and 50% respectively. At any maximum, if the width of the signal is wider than this, the maximum is rejected as an S1; as shown in FIG. 1.

[0074] Requiring the existence of likely S1's on both sides of a new candidate S1, 59.

[0075] If likely S1's are not found in the expected time and amplitude windows on both sides of a new candidate S1, such as 52, that candidate S1 52 is rejected.

[0076] The algorithm searches the time windows before 60 and after 61 the possible S1, and an amplitude window 62 around the possible S1, as shown in FIG. 7. The time window (minimum and maximum intervals) and amplitude window (minimum and maximum) are determined from historically detected S1 events. This is done using the histograms of the “S1 to S1 intervals” and “S1 amplitudes”.

[0077] Preventing S2's being detected as S1's, 65.

[0078] If a maximum is detected within a time t₁ which is less than the time t₂ to the next S1, that is if t₁ is less than t₂ as shown in FIG. 8, the maximum is presumed to be S2 and is discarded.

[0079] Also, using the “S1 to S2” intervals histogram, if a maximum is detected within a time t₁ less than the largest S1 to S2 intervals, the maximum is presumed to be S2 and is discarded.

[0080] The S1/S2 amplitude ratio 70.

[0081] Using the histograms of the “S1 amplitudes”, and the “S2 amplitudes”, a window of the smallest and largest amplitude ratios is constructed. The ratio of the amplitudes of a likely S1 and its S2 is checked against the window, and if the ratio is outside the window the maximum is rejected.

[0082] If a maxima satisfies all these criteria, the S1 and S2 heart signals are presumed detected. The time intervals “S1 to S1”, “S1 to S2” as well as the “S1 amplitude” and “S2 amplitude” are measured, and the histograms are updated 75.

[0083] Once S1 and S2 are detected they are used to calculate the heart rate.

[0084] It will be appreciated by persons skilled in the art that numerous variations and/or modifications may be made to the invention as shown in the specific embodiments without departing from the spirit or scope of the invention as broadly described. The present embodiments are, therefore, to be considered in all respects as illustrative and not restrictive. 

1. A method for automatically determining heart rate, comprising the steps of: sensing body sounds and transducing them to electrical signals; digitizing the electrical signals; emphasizing the heart sound maxima (S1 and S2 signals) relative to noise by filtering, decompression and squaring; detecting local maxima in the signals as likely S1 signals; generating a threshold amplitude; selecting maxima that exceed the threshold as surviving likely candidate S1 signals; screening the surviving candidate S1 against physiologically derived criteria; and calculating the heart rate from the screened S1.
 2. A method according to claim 1, where the filtering is performed using a first low pass filter having a cutoff at 60 Hz.
 3. A method according to claim 1, where further filtering is performed after the decompression and squaring by a further low pass filter realised as a moving average FIR filter using triangular weighting.
 4. A method according to claim 1, where probable S1's and S2's are selected from those parts of the signal detected to be around maxima.
 5. A method according to claim 1, where local maxima are detected by differentiating the signal.
 6. A method according to claim 5, where the derivative is calculated as the first order difference.
 7. A method according to claim 5, where the signal is divided onto intervals, and the maximum with the greatest amplitude is taken for each interval and selected to be a likely S1.
 8. A method according to claim 7, where if there is another maximum following in a suitable time window after the likely S1 in the same interval, then it is selected to be a likely S2.
 9. A method according to claim 8, where the time window is between 160 ms and 400 ms.
 10. A method according to claim 7, where, once a string of likely S1's and S2's have been recorded four histograms are constructed, namely histograms of the “S1 amplitudes”, the “S2 amplitudes”, the “S1 to S1 intervals” and the “S1 to S2 intervals”.
 11. A method according to claim 7, where a threshold amplitude is generated for the likely S1's using an “S1 amplitudes” histogram, and where any amplitude bin, or bins, on the histogram that show occurrence with a frequency greater than a physiologically derived upper limit, or threshold, are identified, and then, all the amplitude bins are discarded except those that have an amplitude greater than the amplitude of the bin(s) that have been identified.
 12. A method according to claim 11, where once the likely S1's have been reduced the S2's are reduced to include only those detected in a predetermined time window after the surviving likely S1's, and then the histograms are updated to include only the surviving likely candidate S1's and S2's.
 13. A method according to claim 12, where likely candidate S1's and S2's are tested against the following criteria: if a candidate S1 is wider than 250 ms at 80% of its peak value, or wider than 350 ms at 50% of its peak value, it is rejected.
 14. A method according to claim 12, where likely candidate S1's and S2's are tested against the following criteria: if other S1's are not found within an expected time window or amplitude window on both sides of a candidate S1, it is rejected.
 15. A method according to claim 14, where the time window is derived from a histogram of “S1 to S1 intervals”.
 16. A method according to claim 14, where the amplitude window is derived from a histogram of “S1 amplitudes”.
 17. A method according to claim 12, where likely candidate S1's and S2's are tested against the following criteria: if the time since the preceding candidate S1 is less than the time until the next S1, the current candidate is presumed to be an S2, and it is rejected.
 18. A method according to claim 12, where likely candidate S1's and S2's are tested against the following criteria: if the time since the preceding candidate S1 is less than the largest S1 to S2 interval, seen from the histogram of “S1 to S2 intervals”, the current candidate is presumed to be S2, and it is rejected.
 19. A method according to claim 12, where likely candidate S1's and S2's are tested against the following criteria: if the ratio of the amplitude of a candidate S1's to the amplitude of its S2's is smaller or bigger than an expected window, the candidate is rejected.
 20. A system for determining heart rate, comprising: an array of sensors to pick up the sounds and transform them to electrical signals, and a computer to digitize the signals and process them to detect S1 and S2, where the processing is according to the method of claim
 1. 21. A system according to claim 20, further comprising a first low pass filter having a cutoff at 60 Hz to perform the filtering.
 22. A system according to claim 20, further comprising a low pass filter realised as a moving average FIR filter using triangular weighting, to perform further filtering after the decompression and squaring. 